Today many different types of messaging technology are used for communication. For example, email, instant messaging (IM), short message service (SMS), multi-media message service (MMS), wireless application protocol push (WAP push) and so on. This introduces greater choice and flexibility than previously available but at the same time complexity for end users is increased. For example, a message sender often does not have sufficient information about the connectivity, preferences and other relevant aspects of a message recipient. That is, John might not know whether Jane has email access out of office hours and whether Jane prefers email or SMS. This makes it difficult for end users to choose a suitable communication channel to reach a recipient, particularly if the message needs to be delivered within a certain time frame, while the person is at a particular location, or similar.
The complexity mentioned above is introduced not only because communication devices are equipped with multiple channels of communication but also because those communication channels (e.g. email, instant messaging, voice, text and multi-media messaging) are disconnected or independent of one another both on the same communication device and also across devices.
At present senders typically have to manage multiple user accounts and contact numbers/addresses for the same recipient. Also, both the sender and the recipient have to manage multiple channels of communication. For example, different communication channels provide different features and capabilities and often it can be difficult for an end user to quickly and accurately assess the best communication channel to use in a particular situation.
Another problem relates to the lack of cross-platform communication capabilities. For example consider a user operating an email client on his or her PC. That user creates an email containing particular text. However, typically it is not possible for the user to send that same text message from the email client directly to a recipient as an SMS message. Generally, the user would need to copy or retype the text into an SMS message on a mobile phone and then send the SMS message to the recipient. However, this is time consuming and error prone. In addition, both the sender and recipient need to have the same type of communication channels and the corresponding client applications available. If the recipient has a different set of communication accounts (email address, mobile number, instant message account, etc.) to which the message could be sent, the sender needs to subscribe to all of these communication accounts in order to take advantage of the recipient's connectivity.
Previously attempts have been made to increase the amount of information available to senders about recipients in order to enable senders to make better choices about sending messages. Some of these previous attempts have used limited forms of automatic message conversion although various drawbacks with these approaches exist as now discussed.
Nakanishi et al. in their paper “iCAMS2: Developing a Mobile Communication Tool using Location Information and Schedule Information with J2ME”, Proceedings of Mobile HCI, 2003, 400-404 describe a scheme for sending messages between members of a closed user group. Depending on the recipient's situation and context the available communication channels are ordered and displayed according to their suitability. However, the scheme requires location and schedule information to be shared between members of the group so that group members must be willing to share this sensitive and private information. This approach is difficult to extend to a wider user group because security problems arise as a result of the shared sensitive information. Also, in this scheme, the sender's communication device must support the chosen communication channel; there is no ability for automatic message type conversion.
Maniatis et al. describe a message layering model which adds personal information to a traditional layering model consisting of application, transport/network and link layers (Maniatis et al. “The Mobile People Architecture”. Mobile Computing and Communications Review, 1, 2, 1999, 1-7). The additional layer information is used to route incoming messages to the application/device currently used by the recipient. Thus the recipient has a personal communication proxy over which messages are redirected and, if necessary, converted into different message formats. A problem with this approach is that incoming messages are redirected to all currently available devices. This increases network load and also leads to serious problems when large amounts of data are sent to devices with low bandwidth connectivity or when the device has a low receiving capacity, e.g., limited message storage space. Also, data may be inadvertently sent to devices that are incapable of processing data in that format. The particular automatic message conversion feature used is problematic in that not all parts of messages are converted. As a result, some information is lost during message conversion and no provision is made to inform the sender about this loss.
Tang et al. (ConNexus to awarenex: extending awareness to mobile users, in Proceedings of the SIGCHI conference on Human factors in computing systems, 2001, 221-228), describe a prototype for mobile devices which provides location and connectivity information for a closed user group. In order to provide simple support for identifying an appropriate communication channel, the system highlights the channel with the most recent activity. However, the channel with the most recent activity might no longer be the most appropriate channel to use. Also, this approach suffers from security problems related to the need to share sensitive information between users.